package com.example.loginpilot_01.service.notice;


import com.example.loginpilot_01.entity.Announcement;
import com.example.loginpilot_01.pojo.dto.NoticeQueryDTO;
import com.example.loginpilot_01.pojo.dto.NoticeStatDTO;
import com.example.loginpilot_01.pojo.dto.PageResult;
//import com.example.loginpilot_01.pojo.entity.Notice;

import java.util.List;
import java.util.Map;

// 通知服务接口
public interface NoticeService {
    //通知列表查询（包含搜索筛选）
    //query表示查询参数,currentUserId表示当前用户ID
    PageResult<Announcement> getAnnouncementList(NoticeQueryDTO query, Long currentUserId);

    //通知详情查询
    Announcement getAnnouncementDetail(Long announcementId, Long currentUserId);

    //阅读统计
    //用于查询通知详情时，展示通知的阅读统计信息
    NoticeStatDTO getAnnouncementStatistics(Long announcementId);

    //批量获取阅读统计
    //用于查询通知列表时，展示每个通知的阅读统计信息
    Map<Long, Long> getBatchReadStatistics(List<Long> announcementIds);
}

